Jest Coverage Report

pr-ci.yml

name: Pull Request CI
on:
  pull_request:
    branches: ['**']

jobs:
  lint-and-test:
    runs-on: ubuntu-latest
    env:
      TZ: Asia/Seoul
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version-file: '.nvmrc'

      - name: Setup pnpm
        uses: pnpm/action-setup@v4
        with:
          version: 10

      - name: Install dependencies
        run: pnpm install --frozen-lockfile

      - name: Generate Prisma Client
        run: pnpm run prisma:generate

      - name: Run lint
        run: pnpm run lint

      - name: Run tests
        run: pnpm test --ci --json --coverage --testLocationInResults --outputFile=report.json

      - name: Jest Coverage Report
        uses: ArtiomTr/jest-coverage-report-action@v2
        with:
          coverage-file: ./report.json
          base-coverage-file: ./report.json

coverage-file, base-coverage-file을 설정할 경우, 앞전에 실행했던 test 커버리지 리포트 json파일을 그냥 사용한다. 그 결과로 아래와 같은 깃허브 액션 리포트를 받아볼 수 있게된다:

Screenshot 2025-07-16 at 16.42.09 Small.jpeg